package com.crm.service.salChance;

import com.crm.pojo.SalChance;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.Map;

public interface SalChanceService {
    /**
     * 根据条件进行查询销售计划信息并分页
     * @param param 条件
     * @param pageable 分页要素
     * @return
     * @throws Exception
     */
    public Page<SalChance> findSalChancePageByMap(Map param, Pageable pageable) throws Exception;

    /**
     * 根据体哦阿健尽心查询客户开发计划信息并分页
     * @param param 条件
     * @param pageable 分页要素
     * @return
     * @throws Exception
     */
    public Page<SalChance> findSalPlanPageByMap(Map param, Pageable pageable) throws Exception;

    /**
     * 根据销售编号查询销售详情
     * @param chcId 销售编号
     * @return 返回一条销售信息详情
     * @throws Exception
     */
    public SalChance findSalChanceById(Long chcId) throws Exception;

    /**
     * 修改指定销售信息
     * @param salChance 销售信息
     * @throws Exception
     * @return
     */
    public SalChance editSalChance(SalChance salChance) throws Exception;

    /**
     * 删除指定销售信息
     * @param chcId 销售编号
     * @throws Exception
     */
    public int delSalChance(Long chcId) throws Exception;

    /**
     * 添加一条销售信息
     * @param salChance 销售信息
     * @return 返回一个销售机会
     * @throws Exception
     */
    public SalChance addSalChance(SalChance salChance) throws Exception;

    /**
     * 修改指定销售机会的状态
     * @param chcId 销售编号
     * @param chcStatus 销售状态
     * @return 返回一个整数结果
     * @throws Exception
     */
    public int editSlaChanceByChcIdAndChcStatus(String chcStatus, Long chcId) throws Exception;
}